草庐IT

php - 安装 Mongo

全部标签

mongodb - 使用 mongo-go-driver 和接口(interface)将游标反序列化为数组

我使用golang创建了一个api,我想创建一些功能测试,为此我创建了一个接口(interface)来抽象我的数据库。但为此,我需要能够在不知道类型的情况下将游标转换为数组。func(self*KeyController)GetKey(cecho.Context)(errerror){varres[]dto.Keyerr=db.Keys.Find(bson.M{},10,0,&res)iferr!=nil{fmt.Println(err)returnc.String(http.StatusInternalServerError,"internalerror")}c.JSON(http.

go - 无法从源安装 Go-Ipfs

我正在尝试在Windows10上从源代码构建IPFS。之前我是从源代码安装的。它工作正常。但我需要最新的资源,所以我从头开始。因为我在源代码中编辑了一些部分。我按照https://github.com/ipfs/go-ipfs/blob/master/docs/windows.md上的说明进行操作.我在执行以下命令时收到以下错误。代码cd%GOPATH%\src\github.com\ipfs\go-ipfsmakeinstall错误goversiongo1.12.6windows/amd64bin/check_go_version1.12goinstall-asmflags=all=

mongodb - 如何使用 golang 和 mongo-go-driver 在 mongodb 中创建文本索引?

我正在尝试对一个集合进行全文搜索,但为此我需要创建一个文本索引。如何在两个字段上创建文本索引?我知道我必须使用这样的东西:opts:=options.CreateIndexes().SetMaxTime(10*time.Second)idxFiles:=[]mongo.IndexModel{{Keys:bsonx.Doc{{"name":"text"}},},}db.Collection("mycollection").Indexes().CreateMany(context,idx,opts) 最佳答案 我已经找到了解决方案:co

mongodb - 使用 mongo-go-driver 创建动态过滤器

我想用mongo-go-driver创建一个动态过滤器。例如,我有这个文档:{"_id":"5d1231380a2a2b39a99c3ed1"},"name":"flower.png","colors":["#ffffff","#212121","#999999","#dbdbdb","#ff5252"],},{"_id":"5d1231380a2a2b39a99c3ed0"},"name":"imageofgo.jpg","colors":["#dedede","#dfdfdf","#dddddd","#e0e0e0","#e2e2e2"],},{"_id":"5d1231380a2

php - 解密在 GOLang 上用 PHP 解密的 AES-CBC-256 Mcrypt_RIJNDAEL

我尝试在go中重写一些在php5.6(CodeIgniter)中编写的旧代码,但我正在忙于解密。我设法从php解码MCRYPT_RIJNDAEL_128去,其中iv大小是16个字符,但我不能在256上这样做-iv是32。我不想使用go_mcrypt因为它对libcryptheader很严格,所以我试过了在CBC模式下使用goclassicencryptlibsAES密码,但在256上它提示IV长度...phpIV有32个字符而不是预期的16个字符..php部分运行良好...private$CIPHER_KEY="12345678901234567890123456789012";pri

go - 如何使用 mongo-driver 连接到其他包

我在gin框架中使用Mongo-driver。我已经在DB包中编写了连接mongodb的代码,如果我在db/connect.go中编写查询,它会工作,但是当我在其他包中使用相同的dbcon时,它不会'吨。db/connect.go:vardbcon*mongo.DatabasefuncConfigDB()(*mongo.Database){ctx:=context.Background()client,err:=mongo.Connect(ctx,options.Client().ApplyURI("mongodb://localhost:27017/todo"),)iferr!=ni

mongodb - go get mongo-go-driver 在 Dockerfile 中崩溃

我的Go服务有点问题。我是Go的新手,我只想对一个连接到mongodb实例的小服务进行docker化。我的代码在本地运行良好。所以这是我的Dockerfile:#buildstageFROMgolang:alpineASbuild-envRUNapkadd--no-cachegitADD..RUNgoget-v-ugo.mongodb.org/mongo-driverRUNgobuild-omongotest#finalstageFROMalpineWORKDIR/appCOPY--from=build-env./go/mongotest.RUNapkupdate&&apkaddca-

go - 使用 GO111MODULE 安装 buffalo 导致 go get : error loading module requirements

这个问题在这里已经有了答案:GO111MODULE=on(errorloadingmodulerequirements)(1个回答)关闭3年前。我在尝试安装buffalo时遇到错误。我在goversiongo1.12.7linux/amd64上使用干净的GOPATH进行了测试,其中没有任何内容。GO111MODULE设置为on。我尝试使用网站上给出的命令安装buffalo:goget-u-vgithub.com/gobuffalo/buffalo/buffalo执行命令导致返回代码1,详细输出末尾的错误消息似乎是goget:errorloadingmodulerequirements。

mongodb - 在 mongo-go-driver 中将 json 参数转换为 bson for UpdateOne

我正在尝试使用mongo-go-driver库的UpdateOne但此方法采用bson文档。我给它一个接口(interface)参数(json)。我的问题是找到将我的json请求解析为bson以动态更新字段的最佳方法。谢谢。func(sStore)Update(id`entercodehere`bson.D,dinterface{})(*mongo.UpdateResult,int32,string){upd:=bson.D{{"$inc",bson.D{d,},},}c,ctx,_:=getCollection(s.conn,s.dbName,s.collectionName)res

mongodb - 带有重试的 Mongo go 驱动程序事务实现

我正在尝试在mongodb中构建具有重试功能的事务,类似于nodejs等其他驱动程序。这是我当前的实现ifsession,err=client.StartSession();err!=nil{returnerr}iferr=session.StartTransaction();err!=nil{returnerr}iferr=mongo.WithSession(ctx,session,func(scmongo.SessionContext)error{ifresult,err=collection.UpdateOne(sc,bson.M{"_id":id},update);err!=n